package com.demo.factory01.factoryMethod.customer;

import com.demo.factory01.factoryMethod.factory.FactoryBMW320;
import com.demo.factory01.factoryMethod.factory.FactoryBMW523;
import com.demo.factory01.factoryMethod.product.BMW320;
import com.demo.factory01.factoryMethod.product.BMW523;

/**
 * 抽象工厂 AbstractFactory： 工厂方法模式的核心，是具体工厂角色必须实现的接口或者必须继承的父类，在 Java 中它由抽象类或者接口来实现。
 * 具体工厂 Factory：被应用程序调用以创建具体产品的对象，含有和具体业务逻辑有关的代码
 * 抽象产品 AbstractProduct：是具体产品继承的父类或实现的接口，在 Java 中一般有抽象类或者接口来实现。
 * 具体产品 Product：具体工厂角色所创建的对象就是此角色的实例。
 * ————————————————
 * 版权声明：本文为CSDN博主「张维鹏」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
 * 原文链接：https://blog.csdn.net/a745233700/article/details/120253639
 */
public class Customer {
	public static void main(String[] args) {
		FactoryBMW320 factoryBMW320 = new FactoryBMW320();
		BMW320 bmw320 = factoryBMW320.createBMW();
 
		FactoryBMW523 factoryBMW523 = new FactoryBMW523();
		BMW523 bmw523 = factoryBMW523.createBMW();
	}
}